PREVIOUS NEXT

Introduction

On this page we have some code as well as images which is used to create high-quality PNGs of the directed graphs for every project within the jsons directory. We have taken the code from the example using 3choices on the previous page and made it ambiguous and modular in the script sumo_dg_viewer.R. We start by including the source file sumo_dg_viewer.R. An additional note, we decide that the statnet graphs are visually cleaner than the igraph graphs and so all of the PNGs produced are statnet graphs.

source(file="../scripts/sumo_dg_viewer.R")

3choices

# 3choices
png(file="../exports/directed_graphs/3choices.dg.png",width=1000,height=500,units="px",res=NA)
adjacency.matrix.3choices <- json2am('3choices') 
[1] "Filling adjaency matrix"
============================================================================================================================
adjacency.network.3choices <- network(
  adjacency.matrix.3choices,
  matrix.type="adjacency",
  directed=FALSE,
  cignore.eval=FALSE,
  names.eval="value"
)
gplot(
  adjacency.network.3choices,
  gmode="digraph",
  label=adjacency.network.3choices%v%'vertex.names',
  boxed.labels=TRUE,
  vertex.cex=1.5,
  arrowhead.cex=1.5
)
3choices.dg.png

3choices.dg.png

Davenport

# Davenport
png(file="../exports/directed_graphs/Davenport.dg.png",width=10000,height=7000,units="px",res=NA)
if (!exists("adjacency.matrix.Davenport")){
  adjacency.matrix.Davenport <- json2am('Davenport')
}
  
adjacency.network.Davenport <- network(
  adjacency.matrix.Davenport,
  matrix.type="adjacency",
  directed=FALSE,
  cignore.eval=FALSE,
  names.eval="value"
)
gplot(
  adjacency.network.Davenport,
  gmode="digraph",
  label=adjacency.network.Davenport%v%'vertex.names',
  boxed.labels=TRUE,
  vertex.cex=0.3,
  arrowhead.cex=0.3
)
Davenport.dg.png

Davenport.dg.png

flpoly

# flpoly
png(file="../exports/directed_graphs/flpoly.dg.png",width=3000,height=3600,units="px",res=NA)
adjacency.matrix.flpoly <- json2am('flpoly')
[1] "Filling adjaency matrix"
============================================================================================================================
adjacency.network.flpoly <- network(
  adjacency.matrix.flpoly,
  matrix.type="adjacency",
  directed=FALSE,
  cignore.eval=FALSE,
  names.eval="value"
)
gplot(
  adjacency.network.flpoly,
  gmode="digraph",
  label=adjacency.network.flpoly%v%'vertex.names',
  boxed.labels=TRUE,
  vertex.cex=0.3,
  arrowhead.cex=0.3
)
flpoly.dg.png

flpoly.dg.png

grid2

# grid2
png(file="../exports/directed_graphs/grid2.dg.png",width=1000,height=700,units="px",res=NA)
adjacency.matrix.grid2 <- json2am('grid2')
[1] "Filling adjaency matrix"
============================================================================================================================
adjacency.network.grid2 <- network(
  adjacency.matrix.grid2,
  matrix.type="adjacency",
  directed=FALSE,
  cignore.eval=FALSE,
  names.eval="value"
)
gplot(
  adjacency.network.grid2,
  gmode="digraph",
  label=adjacency.network.grid2%v%'vertex.names',
  boxed.labels=TRUE,
  vertex.cex=1,
  arrowhead.cex=1
)
grid2

grid2

Haines_City

# Haines_City
png(file="../exports/directed_graphs/Haines_City.dg.png",width=10000,height=7000,units="px",res=NA)
if (!exists("adjacency.matrix.Haines_City")){
  adjacency.matrix.Haines_City <- json2am('Haines_City')
}
  
adjacency.network.Haines_City <- network(
  adjacency.matrix.Haines_City,
  matrix.type="adjacency",
  directed=FALSE,
  cignore.eval=FALSE,
  names.eval="value"
)
gplot(
  adjacency.network.Haines_City,
  gmode="digraph",
  label=adjacency.network.Haines_City%v%'vertex.names',
  boxed.labels=TRUE,
  vertex.cex=0.3,
  arrowhead.cex=0.3
)
Haines_City

Haines_City

intersection_1

# intersection_1
png(file="../exports/directed_graphs/intersection_1.dg.png",width=1000,height=700,units="px",res=NA)
adjacency.matrix.intersection_1 <- json2am('intersection_1')
[1] "Filling adjaency matrix"
============================================================================================================================
adjacency.network.intersection_1 <- network(
  adjacency.matrix.intersection_1,
  matrix.type="adjacency",
  directed=FALSE,
  cignore.eval=FALSE,
  names.eval="value"
)
gplot(
  adjacency.network.intersection_1,
  gmode="digraph",
  label=adjacency.network.intersection_1%v%'vertex.names',
  boxed.labels=TRUE,
  vertex.cex=1,
  arrowhead.cex=1
)
intersection_1.dg.png

intersection_1.dg.png

leopard

# leopard
png(file="../exports/directed_graphs/leopard.dg.png",width=3000,height=3600,units="px",res=NA)
adjacency.matrix.leopard <- json2am('leopard')
[1] "Filling adjaency matrix"
============================================================================================================================
adjacency.network.leopard <- network(
  adjacency.matrix.leopard,
  matrix.type="adjacency",
  directed=FALSE,
  cignore.eval=FALSE,
  names.eval="value"
)
gplot(
  adjacency.network.leopard,
  gmode="digraph",
  label=adjacency.network.leopard%v%'vertex.names',
  boxed.labels=TRUE,
  vertex.cex=0.3,
  arrowhead.cex=0.3
)
leopard.dg.png

leopard.dg.png

LS0tDQp0aXRsZTogIkNyZWF0aW5nIFBOR3Mgb2YgdGhlIERpcmVjdCBHcmFwaHMiDQphdXRob3I6IA0KICBuYW1lOiAnUXVlbnRpbiBHb3NzIGBxdWVudGluZ29zczAzMjNAZmxvcmlkYXBvbHkuZWR1YCcNCiAgYWZmaWxpYXRpb246ICJGbG9yaWRhIFBvbHl0ZWNobmljIFVuaXZlcnNpdHkgYENPUDUwOTAuMDFgIg0KZGF0ZTogImByIGZvcm1hdChTeXMudGltZSgpLCAnJWQgJUIgJVknKWAiDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQo8aGVhZD4NCiAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuL3N0eWxlcy5jc3MiPg0KPC9oZWFkPg0KPGEgDQogIGNsYXNzPSJ0b3BsZWZ0Ig0KICBocmVmPSIuL2RnbWV0aG9kLm5iLmh0bWwiIA0KICB0aXRsZT0iUHJldmlvdXM6IFZpc3VhbGl6aW5nIFNVTU8gbWFwYSBkYXRhIGFzIGEgZGlyZWN0ZWQgZ3JhcGguIj4NCiAgICBQUkVWSU9VUw0KPC9hPg0KPGEgDQogIGNsYXNzPSJ0b3ByaWdodCINCiAgaHJlZj0iLi94eXBsb3RtZXRob2QubmIuaHRtbCIgDQogIHRpdGxlPSJOZXh0OiBQbG90dGluZyBKdW5jdGlvbiBYWSBDb29yZGluYXRlcy4iPg0KICAgIE5FWFQNCjwvYT4NCg0KI0ludHJvZHVjdGlvbg0KT24gdGhpcyBwYWdlIHdlIGhhdmUgc29tZSBjb2RlIGFzIHdlbGwgYXMgaW1hZ2VzIHdoaWNoIGlzIHVzZWQgdG8gY3JlYXRlIGhpZ2gtcXVhbGl0eSBQTkdzIG9mIHRoZSBkaXJlY3RlZCBncmFwaHMgZm9yIGV2ZXJ5IHByb2plY3Qgd2l0aGluIHRoZSBganNvbnNgIGRpcmVjdG9yeS4gV2UgaGF2ZSB0YWtlbiB0aGUgY29kZSBmcm9tIHRoZSBleGFtcGxlIHVzaW5nIGAzY2hvaWNlc2Agb24gdGhlDQo8YQ0KIGhyZWY9Ii4vZGdtZXRob2QubmIuaHRtbCINCiB0aXRsZT0iUHJldmlvdXM6IFZpc3VhbGl6aW5nIFNVTU8gbWFwYSBkYXRhIGFzIGEgZGlyZWN0ZWQgZ3JhcGguIj4NCiBwcmV2aW91cyBwYWdlDQo8L2E+DQphbmQgbWFkZSBpdCBhbWJpZ3VvdXMgYW5kIG1vZHVsYXIgaW4gdGhlIHNjcmlwdCBgc3Vtb19kZ192aWV3ZXIuUmAuIFdlIHN0YXJ0IGJ5IGluY2x1ZGluZyB0aGUgc291cmNlIGZpbGUgYHN1bW9fZGdfdmlld2VyLlJgLiBBbiBhZGRpdGlvbmFsIG5vdGUsIHdlIGRlY2lkZSB0aGF0IHRoZSBgc3RhdG5ldGAgZ3JhcGhzIGFyZSB2aXN1YWxseSBjbGVhbmVyIHRoYW4gdGhlIGBpZ3JhcGhgIGdyYXBocyBhbmQgc28gYWxsIG9mIHRoZSBQTkdzIHByb2R1Y2VkIGFyZSBgc3RhdG5ldGAgZ3JhcGhzLg0KDQpgYGB7ciBtZXNzYWdlPUZBTFNFfQ0Kc291cmNlKGZpbGU9Ii4uL3NjcmlwdHMvc3Vtb19kZ192aWV3ZXIuUiIpDQpgYGANCg0KIyMzY2hvaWNlcw0KYGBge3J9DQojIDNjaG9pY2VzDQpwbmcoZmlsZT0iLi4vZXhwb3J0cy9kaXJlY3RlZF9ncmFwaHMvM2Nob2ljZXMuZGcucG5nIix3aWR0aD0xMDAwLGhlaWdodD01MDAsdW5pdHM9InB4IixyZXM9TkEpDQphZGphY2VuY3kubWF0cml4LjNjaG9pY2VzIDwtIGpzb24yYW0oJzNjaG9pY2VzJykgDQoNCmFkamFjZW5jeS5uZXR3b3JrLjNjaG9pY2VzIDwtIG5ldHdvcmsoDQogIGFkamFjZW5jeS5tYXRyaXguM2Nob2ljZXMsDQogIG1hdHJpeC50eXBlPSJhZGphY2VuY3kiLA0KICBkaXJlY3RlZD1GQUxTRSwNCiAgY2lnbm9yZS5ldmFsPUZBTFNFLA0KICBuYW1lcy5ldmFsPSJ2YWx1ZSINCikNCmdwbG90KA0KICBhZGphY2VuY3kubmV0d29yay4zY2hvaWNlcywNCiAgZ21vZGU9ImRpZ3JhcGgiLA0KICBsYWJlbD1hZGphY2VuY3kubmV0d29yay4zY2hvaWNlcyV2JSd2ZXJ0ZXgubmFtZXMnLA0KICBib3hlZC5sYWJlbHM9VFJVRSwNCiAgdmVydGV4LmNleD0xLjUsDQogIGFycm93aGVhZC5jZXg9MS41DQopDQpgYGANCiFbM2Nob2ljZXMuZGcucG5nXSguLi9leHBvcnRzL2RpcmVjdGVkX2dyYXBocy8zY2hvaWNlcy5kZy5wbmcpDQoNCiMjRGF2ZW5wb3J0DQpgYGB7cn0NCiMgRGF2ZW5wb3J0DQpwbmcoZmlsZT0iLi4vZXhwb3J0cy9kaXJlY3RlZF9ncmFwaHMvRGF2ZW5wb3J0LmRnLnBuZyIsd2lkdGg9MTAwMDAsaGVpZ2h0PTcwMDAsdW5pdHM9InB4IixyZXM9TkEpDQoNCmlmICghZXhpc3RzKCJhZGphY2VuY3kubWF0cml4LkRhdmVucG9ydCIpKXsNCiAgYWRqYWNlbmN5Lm1hdHJpeC5EYXZlbnBvcnQgPC0ganNvbjJhbSgnRGF2ZW5wb3J0JykNCn0NCiAgDQphZGphY2VuY3kubmV0d29yay5EYXZlbnBvcnQgPC0gbmV0d29yaygNCiAgYWRqYWNlbmN5Lm1hdHJpeC5EYXZlbnBvcnQsDQogIG1hdHJpeC50eXBlPSJhZGphY2VuY3kiLA0KICBkaXJlY3RlZD1GQUxTRSwNCiAgY2lnbm9yZS5ldmFsPUZBTFNFLA0KICBuYW1lcy5ldmFsPSJ2YWx1ZSINCikNCmdwbG90KA0KICBhZGphY2VuY3kubmV0d29yay5EYXZlbnBvcnQsDQogIGdtb2RlPSJkaWdyYXBoIiwNCiAgbGFiZWw9YWRqYWNlbmN5Lm5ldHdvcmsuRGF2ZW5wb3J0JXYlJ3ZlcnRleC5uYW1lcycsDQogIGJveGVkLmxhYmVscz1UUlVFLA0KICB2ZXJ0ZXguY2V4PTAuMywNCiAgYXJyb3doZWFkLmNleD0wLjMNCikNCmBgYA0KIVtEYXZlbnBvcnQuZGcucG5nXSguLi9leHBvcnRzL2RpcmVjdGVkX2dyYXBocy9EYXZlbnBvcnQuZGcucG5nKQ0KDQojI2ZscG9seQ0KYGBge3J9DQojIGZscG9seQ0KcG5nKGZpbGU9Ii4uL2V4cG9ydHMvZGlyZWN0ZWRfZ3JhcGhzL2ZscG9seS5kZy5wbmciLHdpZHRoPTMwMDAsaGVpZ2h0PTM2MDAsdW5pdHM9InB4IixyZXM9TkEpDQphZGphY2VuY3kubWF0cml4LmZscG9seSA8LSBqc29uMmFtKCdmbHBvbHknKQ0KDQphZGphY2VuY3kubmV0d29yay5mbHBvbHkgPC0gbmV0d29yaygNCiAgYWRqYWNlbmN5Lm1hdHJpeC5mbHBvbHksDQogIG1hdHJpeC50eXBlPSJhZGphY2VuY3kiLA0KICBkaXJlY3RlZD1GQUxTRSwNCiAgY2lnbm9yZS5ldmFsPUZBTFNFLA0KICBuYW1lcy5ldmFsPSJ2YWx1ZSINCikNCmdwbG90KA0KICBhZGphY2VuY3kubmV0d29yay5mbHBvbHksDQogIGdtb2RlPSJkaWdyYXBoIiwNCiAgbGFiZWw9YWRqYWNlbmN5Lm5ldHdvcmsuZmxwb2x5JXYlJ3ZlcnRleC5uYW1lcycsDQogIGJveGVkLmxhYmVscz1UUlVFLA0KICB2ZXJ0ZXguY2V4PTAuMywNCiAgYXJyb3doZWFkLmNleD0wLjMNCikNCmBgYA0KIVtmbHBvbHkuZGcucG5nXSguLi9leHBvcnRzL2RpcmVjdGVkX2dyYXBocy9mbHBvbHkuZGcucG5nKQ0KDQojI2dyaWQyDQpgYGB7cn0NCiMgZ3JpZDINCnBuZyhmaWxlPSIuLi9leHBvcnRzL2RpcmVjdGVkX2dyYXBocy9ncmlkMi5kZy5wbmciLHdpZHRoPTEwMDAsaGVpZ2h0PTcwMCx1bml0cz0icHgiLHJlcz1OQSkNCmFkamFjZW5jeS5tYXRyaXguZ3JpZDIgPC0ganNvbjJhbSgnZ3JpZDInKQ0KDQphZGphY2VuY3kubmV0d29yay5ncmlkMiA8LSBuZXR3b3JrKA0KICBhZGphY2VuY3kubWF0cml4LmdyaWQyLA0KICBtYXRyaXgudHlwZT0iYWRqYWNlbmN5IiwNCiAgZGlyZWN0ZWQ9RkFMU0UsDQogIGNpZ25vcmUuZXZhbD1GQUxTRSwNCiAgbmFtZXMuZXZhbD0idmFsdWUiDQopDQpncGxvdCgNCiAgYWRqYWNlbmN5Lm5ldHdvcmsuZ3JpZDIsDQogIGdtb2RlPSJkaWdyYXBoIiwNCiAgbGFiZWw9YWRqYWNlbmN5Lm5ldHdvcmsuZ3JpZDIldiUndmVydGV4Lm5hbWVzJywNCiAgYm94ZWQubGFiZWxzPVRSVUUsDQogIHZlcnRleC5jZXg9MSwNCiAgYXJyb3doZWFkLmNleD0xDQopDQpgYGANCiFbZ3JpZDJdKC4uL2V4cG9ydHMvZGlyZWN0ZWRfZ3JhcGhzL2dyaWQyLmRnLnBuZykNCg0KIyNIYWluZXNfQ2l0eQ0KYGBge3J9DQojIEhhaW5lc19DaXR5DQpwbmcoZmlsZT0iLi4vZXhwb3J0cy9kaXJlY3RlZF9ncmFwaHMvSGFpbmVzX0NpdHkuZGcucG5nIix3aWR0aD0xMDAwMCxoZWlnaHQ9NzAwMCx1bml0cz0icHgiLHJlcz1OQSkNCg0KaWYgKCFleGlzdHMoImFkamFjZW5jeS5tYXRyaXguSGFpbmVzX0NpdHkiKSl7DQogIGFkamFjZW5jeS5tYXRyaXguSGFpbmVzX0NpdHkgPC0ganNvbjJhbSgnSGFpbmVzX0NpdHknKQ0KfQ0KICANCmFkamFjZW5jeS5uZXR3b3JrLkhhaW5lc19DaXR5IDwtIG5ldHdvcmsoDQogIGFkamFjZW5jeS5tYXRyaXguSGFpbmVzX0NpdHksDQogIG1hdHJpeC50eXBlPSJhZGphY2VuY3kiLA0KICBkaXJlY3RlZD1GQUxTRSwNCiAgY2lnbm9yZS5ldmFsPUZBTFNFLA0KICBuYW1lcy5ldmFsPSJ2YWx1ZSINCikNCmdwbG90KA0KICBhZGphY2VuY3kubmV0d29yay5IYWluZXNfQ2l0eSwNCiAgZ21vZGU9ImRpZ3JhcGgiLA0KICBsYWJlbD1hZGphY2VuY3kubmV0d29yay5IYWluZXNfQ2l0eSV2JSd2ZXJ0ZXgubmFtZXMnLA0KICBib3hlZC5sYWJlbHM9VFJVRSwNCiAgdmVydGV4LmNleD0wLjMsDQogIGFycm93aGVhZC5jZXg9MC4zDQopDQpgYGANCiFbSGFpbmVzX0NpdHldKC4uL2V4cG9ydHMvZGlyZWN0ZWRfZ3JhcGhzL0hhaW5lc19DaXR5LmRnLnBuZykNCg0KIyNpbnRlcnNlY3Rpb25fMQ0KYGBge3J9DQojIGludGVyc2VjdGlvbl8xDQpwbmcoZmlsZT0iLi4vZXhwb3J0cy9kaXJlY3RlZF9ncmFwaHMvaW50ZXJzZWN0aW9uXzEuZGcucG5nIix3aWR0aD0xMDAwLGhlaWdodD03MDAsdW5pdHM9InB4IixyZXM9TkEpDQphZGphY2VuY3kubWF0cml4LmludGVyc2VjdGlvbl8xIDwtIGpzb24yYW0oJ2ludGVyc2VjdGlvbl8xJykNCg0KYWRqYWNlbmN5Lm5ldHdvcmsuaW50ZXJzZWN0aW9uXzEgPC0gbmV0d29yaygNCiAgYWRqYWNlbmN5Lm1hdHJpeC5pbnRlcnNlY3Rpb25fMSwNCiAgbWF0cml4LnR5cGU9ImFkamFjZW5jeSIsDQogIGRpcmVjdGVkPUZBTFNFLA0KICBjaWdub3JlLmV2YWw9RkFMU0UsDQogIG5hbWVzLmV2YWw9InZhbHVlIg0KKQ0KZ3Bsb3QoDQogIGFkamFjZW5jeS5uZXR3b3JrLmludGVyc2VjdGlvbl8xLA0KICBnbW9kZT0iZGlncmFwaCIsDQogIGxhYmVsPWFkamFjZW5jeS5uZXR3b3JrLmludGVyc2VjdGlvbl8xJXYlJ3ZlcnRleC5uYW1lcycsDQogIGJveGVkLmxhYmVscz1UUlVFLA0KICB2ZXJ0ZXguY2V4PTEsDQogIGFycm93aGVhZC5jZXg9MQ0KKQ0KYGBgDQohW2ludGVyc2VjdGlvbl8xLmRnLnBuZ10oLi4vZXhwb3J0cy9kaXJlY3RlZF9ncmFwaHMvaW50ZXJzZWN0aW9uXzEuZGcucG5nKQ0KDQojI2xlb3BhcmQNCmBgYHtyfQ0KIyBsZW9wYXJkDQpwbmcoZmlsZT0iLi4vZXhwb3J0cy9kaXJlY3RlZF9ncmFwaHMvbGVvcGFyZC5kZy5wbmciLHdpZHRoPTMwMDAsaGVpZ2h0PTM2MDAsdW5pdHM9InB4IixyZXM9TkEpDQphZGphY2VuY3kubWF0cml4Lmxlb3BhcmQgPC0ganNvbjJhbSgnbGVvcGFyZCcpDQoNCmFkamFjZW5jeS5uZXR3b3JrLmxlb3BhcmQgPC0gbmV0d29yaygNCiAgYWRqYWNlbmN5Lm1hdHJpeC5sZW9wYXJkLA0KICBtYXRyaXgudHlwZT0iYWRqYWNlbmN5IiwNCiAgZGlyZWN0ZWQ9RkFMU0UsDQogIGNpZ25vcmUuZXZhbD1GQUxTRSwNCiAgbmFtZXMuZXZhbD0idmFsdWUiDQopDQpncGxvdCgNCiAgYWRqYWNlbmN5Lm5ldHdvcmsubGVvcGFyZCwNCiAgZ21vZGU9ImRpZ3JhcGgiLA0KICBsYWJlbD1hZGphY2VuY3kubmV0d29yay5sZW9wYXJkJXYlJ3ZlcnRleC5uYW1lcycsDQogIGJveGVkLmxhYmVscz1UUlVFLA0KICB2ZXJ0ZXguY2V4PTAuMywNCiAgYXJyb3doZWFkLmNleD0wLjMNCikNCmBgYA0KIVtsZW9wYXJkLmRnLnBuZ10oLi4vZXhwb3J0cy9kaXJlY3RlZF9ncmFwaHMvbGVvcGFyZC5kZy5wbmcpDQo=